package pe.com.cotelasa.scp.controlador.backingBean;

import java.io.Serializable;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import javax.inject.Named;
import org.springframework.context.annotation.Scope;
import pe.com.cotelasa.scp.controlador.comando.IComando;
import pe.com.cotelasa.scp.entidad.CategoriaArticulo;
import pe.com.cotelasa.scp.entidad.Contacto;
import pe.com.cotelasa.scp.entidad.DetalleOrdenCompraServicio;
import pe.com.cotelasa.scp.entidad.OrdenCompraServicio;
import pe.com.cotelasa.scp.entidad.OrdenPedido;
import pe.com.cotelasa.scp.entidad.Proveedor;
import pe.com.cotelasa.scp.entidad.ProveedorArticulo;
import pe.com.cotelasa.scp.entidad.ProveedorServicio;
import pe.com.cotelasa.scp.entidad.Servicio;
import pe.com.cotelasa.scp.entidad.TipoMoneda;
import pe.com.cotelasa.scp.to.ProveedorTO;

/**
 *
 * @author zer0
 */
@Named(value = "BKOrdenCompraServicio")
@Scope("session")
public class BKOrdenCompraServicio implements Serializable {

    private static final long serialVersionUID = 8722885348162724916L;
    private OrdenCompraServicio ordenCSFormulario;
    private OrdenCompraServicio ordenCSBusqueda;
    private OrdenCompraServicio ordenCSAntigua;
    private Date hoy = new Date();
    private OrdenCompraServicio ordenCSSeleccionado;
    private OrdenPedido ordenPedidoBusqueda;
    private OrdenPedido ordenPedidoFormulario;
    private Contacto contactoFormulario;
    private Servicio servicioFormulario;
    private Collection<OrdenCompraServicio> listaOrdenCompraServiciosActivas;
    private Collection<OrdenPedido> listaOrdenesPedido;
    private Collection<CategoriaArticulo> listaCategoriaArticulo;
    private Collection<CategoriaArticulo> listaSubCategoriaArticulo;
    private Collection<TipoMoneda> listaTipoMoneda;
    //private Collection<Proveedor> listaProveedorS;
    private Collection<Contacto> listaContacto;
    private Collection<Servicio> listaServicio;
    private Collection<ProveedorServicio> listaProveedorServicio;
    private List<DetalleOrdenCompraServicio> listaDetalleOrdenCompraServicio;
    private List<DetalleOrdenCompraServicio> listaTemporalDetalleOrdenCompraServicio;
    
    private Collection<ProveedorTO> listarProveedorPorTipo;
    private Collection<ProveedorTO> listaProveedor;
    private Collection<Proveedor> listaProveedorS;
    
    private Integer idTipoMonedaFormulario;
    private Integer idCategoriaArticuloFormulario;
    private Integer idSubCategoriaArticuloFormulario;
    private Integer idServicioFormulario;
    private Integer idProveedorFormulario;
    private Integer idOrdenCompraServicioAntigua;
    private ProveedorArticulo proveedorArticuloFormulario;
    private boolean estaOrdenPedidoSeleccionado = false;
    private boolean estaContactoSeleccionado = false;
    private String estadoOrdenCompraServicio = ""+OrdenCompraServicio.ESTADO_ORDEN_SC.BORRADOR.getValor();
    
    private boolean diasPago;
    private boolean diasLibre;
    
    private IComando comando;
    private Character tipoOrden;
    
    //para partidas.
    
    private List<String> listaProductosPorPedido;
    private List<String> listaDetallesPP;

    public BKOrdenCompraServicio() {
    }
    
    public void inicializarBean() {
        ordenCSFormulario = new OrdenCompraServicio();
        ordenPedidoFormulario = null;
        listaDetalleOrdenCompraServicio = null;
        idTipoMonedaFormulario = null;
        idCategoriaArticuloFormulario = null;
        idSubCategoriaArticuloFormulario = null;
        idServicioFormulario = null;
        idProveedorFormulario = null;
        proveedorArticuloFormulario = null;
        listaProveedorServicio = null;
        servicioFormulario = null;
        estadoOrdenCompraServicio = ""+OrdenCompraServicio.ESTADO_ORDEN_SC.BORRADOR.getValor();
    }
    
    public boolean isEstaOrdenPedidoSeleccionado() {
        return estaOrdenPedidoSeleccionado;
    }

    public void setEstaOrdenPedidoSeleccionado(boolean estaOrdenPedidoSeleccionado) {
        this.estaOrdenPedidoSeleccionado = estaOrdenPedidoSeleccionado;
    }
    
    public OrdenPedido getOrdenPedidoBusqueda() {
        return ordenPedidoBusqueda;
    }

    public void setOrdenPedidoBusqueda(OrdenPedido ordenPedidoBusqueda) {
        this.ordenPedidoBusqueda = ordenPedidoBusqueda;
    }
    
    public OrdenPedido getOrdenPedidoFormulario() {
        return ordenPedidoFormulario;
    }

    public void setOrdenPedidoFormulario(OrdenPedido ordenPedidoFormulario) {
        this.ordenPedidoFormulario = ordenPedidoFormulario;
    }

    public Collection<OrdenCompraServicio> getListaOrdenCompraServiciosActivas() {
        return listaOrdenCompraServiciosActivas;
    }

    public void setListaOrdenCompraServiciosActivas(Collection<OrdenCompraServicio> listaOrdenCompraServiciosActivas) {
        this.listaOrdenCompraServiciosActivas = listaOrdenCompraServiciosActivas;
    }
    
    public OrdenCompraServicio getOrdenCompraServicioFormulario() {
        return ordenCSFormulario;
    }

    public void setOrdenCompraServicioFormulario(OrdenCompraServicio ordenCSFormulario) {
        this.ordenCSFormulario = ordenCSFormulario;
    }
    
    public OrdenCompraServicio getOrdenCompraServicioSeleccionado() {
        return ordenCSSeleccionado;
    }

    public void setOrdenCompraServicioSeleccionado(OrdenCompraServicio ordenCSSeleccionado) {
        this.ordenCSSeleccionado = ordenCSSeleccionado;
    }

    public Collection<OrdenPedido> getListaOrdenesPedido() {
        return listaOrdenesPedido;
    }

    public void setListaOrdenesPedido(Collection<OrdenPedido> listaOrdenesPedido) {
        this.listaOrdenesPedido = listaOrdenesPedido;
    }
    
    public Collection<CategoriaArticulo> getListaCategoriaArticulo() {
        return listaCategoriaArticulo;
    }

    public void setListaCategoriaArticulo(Collection<CategoriaArticulo> listaCategoriaArticulo) {
        this.listaCategoriaArticulo = listaCategoriaArticulo;
    }
    
    public Collection<CategoriaArticulo> getListaSubCategoriaArticulo() {
        return listaSubCategoriaArticulo;
    }

    public void setListaSubCategoriaArticulo(Collection<CategoriaArticulo> listaSubCategoriaArticulo) {
        this.listaSubCategoriaArticulo = listaSubCategoriaArticulo;
    }
    
    public Collection<TipoMoneda> getListaTipoMoneda() {
        return listaTipoMoneda;
    }

    public void setListaTipoMoneda(Collection<TipoMoneda> listaTipoMoneda) {
        this.listaTipoMoneda = listaTipoMoneda;
    }
    
    /*public Collection<Proveedor> getListaProveedor() {
        return listaProveedor;
    }

    public void setListaProveedor(Collection<Proveedor> listaProveedor) {
        this.listaProveedor = listaProveedor;
    }*/

    public Integer getIdTipoMonedaFormulario() {
        return idTipoMonedaFormulario;
    }

    public void setIdTipoMonedaFormulario(Integer idTipoMonedaFormulario) {
        this.idTipoMonedaFormulario = idTipoMonedaFormulario;
    }
    
    public Integer getIdCategoriaArticuloFormulario() {
        return idCategoriaArticuloFormulario;
    }

    public void setIdCategoriaArticuloFormulario(Integer idCategoriaArticuloFormulario) {
        this.idCategoriaArticuloFormulario = idCategoriaArticuloFormulario;
    }
    
    public Integer getIdSubCategoriaArticuloFormulario() {
        return idSubCategoriaArticuloFormulario;
    }

    public void setIdSubCategoriaArticuloFormulario(Integer idSubCategoriaArticuloFormulario) {
        this.idSubCategoriaArticuloFormulario = idSubCategoriaArticuloFormulario;
    }
    
    public Integer getIdServicioFormulario() {
        return idServicioFormulario;
    }

    public void setIdServicioFormulario(Integer idServicioFormulario) {
        this.idServicioFormulario = idServicioFormulario;
    }
    
    public Integer getIdProveedorFormulario() {
        return idProveedorFormulario;
    }

    public void setIdProveedorFormulario(Integer idProveedorFormulario) {
        this.idProveedorFormulario = idProveedorFormulario;
    }

    public List<DetalleOrdenCompraServicio> getListaDetalleOrdenCompraServicio() {
        return listaDetalleOrdenCompraServicio;
    }

    public void setListaDetalleOrdenCompraServicio(List<DetalleOrdenCompraServicio> listaDetalleOrdenCompraServicio) {
        this.listaDetalleOrdenCompraServicio = listaDetalleOrdenCompraServicio;
    }

    public ProveedorArticulo getProveedorArticuloFormulario() {
        return proveedorArticuloFormulario;
    }

    public void setProveedorArticuloFormulario(ProveedorArticulo proveedorArticuloFormulario) {
        this.proveedorArticuloFormulario = proveedorArticuloFormulario;
    }

    public Date getHoy() {
        return hoy;
    }

    public void setHoy(Date hoy) {
        this.hoy = hoy;
    }

    public boolean isEstaContactoSeleccionado() {
        return estaContactoSeleccionado;
    }

    public void setEstaContactoSeleccionado(boolean estaContactoSeleccionado) {
        this.estaContactoSeleccionado = estaContactoSeleccionado;
    }

    public Collection<Contacto> getListaContacto() {
        return listaContacto;
    }

    public void setListaContacto(Collection<Contacto> listaContacto) {
        this.listaContacto = listaContacto;
    }

    public Contacto getContactoFormulario() {
        return contactoFormulario;
    }

    public void setContactoFormulario(Contacto contactoFormulario) {
        this.contactoFormulario = contactoFormulario;
    }

    public OrdenCompraServicio getOrdenCSAntigua() {
        return ordenCSAntigua;
    }

    public void setOrdenCSAntigua(OrdenCompraServicio ordenCSAntigua) {
        this.ordenCSAntigua = ordenCSAntigua;
    }

    public Integer getIdOrdenCompraServicioAntigua() {
        return idOrdenCompraServicioAntigua;
    }

    public void setIdOrdenCompraServicioAntigua(Integer idOrdenCompraServicioAntigua) {
        this.idOrdenCompraServicioAntigua = idOrdenCompraServicioAntigua;
    }

    public List<DetalleOrdenCompraServicio> getListaTemporalDetalleOrdenCompraServicio() {
        return listaTemporalDetalleOrdenCompraServicio;
    }

    public void setListaTemporalDetalleOrdenCompraServicio(List<DetalleOrdenCompraServicio> listaTemporalDetalleOrdenCompraServicio) {
        this.listaTemporalDetalleOrdenCompraServicio = listaTemporalDetalleOrdenCompraServicio;
    }

    public String getEstadoOrdenCompraServicio() {
        return estadoOrdenCompraServicio;
    }

    public void setEstadoOrdenCompraServicio(String estadoOrdenCompraServicio) {
        this.estadoOrdenCompraServicio = estadoOrdenCompraServicio;
    }

    public Collection<Servicio> getListaServicio() {
        return listaServicio;
    }

    public void setListaServicio(Collection<Servicio> listaServicio) {
        this.listaServicio = listaServicio;
    }

    public Servicio getServicioFormulario() {
        return servicioFormulario;
    }

    public void setServicioFormulario(Servicio servicioFormulario) {
        this.servicioFormulario = servicioFormulario;
    }

    public Collection<ProveedorServicio> getListaProveedorServicio() {
        return listaProveedorServicio;
    }

    public void setListaProveedorServicio(Collection<ProveedorServicio> listaProveedorServicio) {
        this.listaProveedorServicio = listaProveedorServicio;
    }

    public Collection<ProveedorTO> getListarProveedorPorTipo() {
        return listarProveedorPorTipo;
    }

    public void setListarProveedorPorTipo(Collection<ProveedorTO> listarProveedorPorTipo) {
        this.listarProveedorPorTipo = listarProveedorPorTipo;
    }

    public Collection<ProveedorTO> getListaProveedor() {
        return listaProveedor;
    }

    public void setListaProveedor(Collection<ProveedorTO> listaProveedor) {
        this.listaProveedor = listaProveedor;
    }

    public Collection<Proveedor> getListaProveedorS() {
        return listaProveedorS;
    }

    public void setListaProveedorS(Collection<Proveedor> listaProveedorS) {
        this.listaProveedorS = listaProveedorS;
    }

    public OrdenCompraServicio getOrdenCSBusqueda() {
        return ordenCSBusqueda;
    }

    public void setOrdenCSBusqueda(OrdenCompraServicio ordenCSBusqueda) {
        this.ordenCSBusqueda = ordenCSBusqueda;
    }

    public boolean isDiasPago() {
        return this.ordenCSFormulario.getDiasPago()!=null && this.ordenCSFormulario.getDiasPago() != 0;
    }

    public boolean isDiasLibre() {
        return this.ordenCSFormulario.getDiasLibres()!=null && this.ordenCSFormulario.getDiasLibres() != 0;
    }

    public IComando getComando() {
        return comando;
    }

    public void setComando(IComando comando) {
        this.comando = comando;
    }

    public Character getTipoOrden() {
        return tipoOrden;
    }

    public void setTipoOrden(Character tipoOrden) {
        this.tipoOrden = tipoOrden;
    }

    public List<String> getListaProductosPorPedido() {
        return listaProductosPorPedido;
    }

    public void setListaProductosPorPedido(List<String> listaProductosPorPedido) {
        this.listaProductosPorPedido = listaProductosPorPedido;
    }

    public List<String> getListaDetallesPP() {
        return listaDetallesPP;
    }

    public void setListaDetallesPP(List<String> listaDetallesPP) {
        this.listaDetallesPP = listaDetallesPP;
    }


    
}
